MySQL 연산자의 의미와 종류
MySQL은 데이터베이스에서 데이터를 검색하고 조작할 수 있도록 다양한 연산자를 제공합니다. 이 문서에서는 MySQL에서 사용 가능한 연산자의 의미와 종류 예시에 대해 설명합니다.
비교 연산자
MySQL에서는 데이터의 비교를 위해 다양한 비교 연산자를 제공합니다. 다음은 MySQL에서 사용 가능한 비교 연산자입니다.
=
(equal to)
=
연산자는 왼쪽 값이 오른쪽 값과 같은 경우 true
를 반환합니다.SELECT * FROM students WHERE age = 20;
<>
또는 !=
(not equal to)
<>
또는 !=
연산자는 왼쪽 값이 오른쪽 값과 같지 않은 경우 true
를 반환합니다.SELECT * FROM students WHERE age <> 20;
>
(greater than)
>
연산자는 왼쪽 값이 오른쪽 값보다 큰 경우 true
를 반환합니다.SELECT * FROM students WHERE age > 20;
<
(less than)
<
연산자는 왼쪽 값이 오른쪽 값보다 작은 경우 true
를 반환합니다.SELECT * FROM students WHERE age < 20;
>=
(greater than or equal to)
>=
연산자는 왼쪽 값이 오른쪽 값보다 크거나 같은 경우 true
를 반환합니다.SELECT * FROM students WHERE age >= 20;
<=
(less than or equal to)
<=
연산자는 왼쪽 값이 오른쪽 값보다 작거나 같은 경우 true
를 반환합니다.SELECT * FROM students WHERE age <= 20;
비교 연산자 - 2 패턴
LIKE
(like)
LIKE
연산자는 왼쪽 값이 오른쪽 값과 일치하는 경우 true
를 반환합니다. LIKE
연산자는 와일드카드 문자인 %
와 _
를 사용할 수 있습니다. %
는 임의의 문자열을 나타내며, _
는 임의의 문자 하나를 나타냅니다.SELECT * FROM students WHERE first_name LIKE 'J%';
위의 예제는
first_name
열의 값이 J로 시작하는 모든 학생들을 검색합니다.SELECT * FROM students WHERE last_name LIKE '%son%';
위의 예제는
last_name
열의 값에 "son"이 포함된 모든 학생들을 검색합니다.NOT LIKE
(not like)
NOT LIKE
연산자는 왼쪽 값이 오른쪽 값과 일치하지 않는 경우 true
를 반환합니다.SELECT * FROM students WHERE first_name NOT LIKE 'J%';
위의 예제는
first_name
열의 값이 J로 시작하지 않는 모든 학생들을 검색합니다.SELECT * FROM students WHERE last_name NOT LIKE '%son%';
위의 예제는
last_name
열의 값에 "son"이 포함되지 않은 모든 학생들을 검색합니다.REGEXP
(regular expression)
REGEXP
연산자는 정규식을 사용하여 데이터를 검색합니다. 정규식은 검색할 패턴을 정의하는 문자열입니다.SELECT * FROM students WHERE first_name REGEXP '^J';
위의 예제는
first_name
열의 값이 J로 시작하는 모든 학생들을 검색합니다.SELECT * FROM students WHERE last_name REGEXP 'son';
위의 예제는
last_name
열의 값에 "son"이 포함된 모든 학생들을 검색합니다.논리 연산자
MySQL에서는 논리 연산을 위해 다양한 논리 연산자를 제공합니다. 다음은 MySQL에서 사용 가능한 논리 연산자입니다.
AND
또는 &&
(and)
AND
또는 &&
연산자는 양쪽 값이 모두 true
인 경우 true
를 반환합니다.SELECT * FROM students WHERE age > 20 AND gender = 'male';
OR
또는 ||
(or)
OR
또는 ||
연산자는 양쪽 값 중 하나 이상이 true
인 경우 true
를 반환합니다.SELECT * FROM students WHERE age > 20 OR gender = 'male';
NOT
또는 !
(not)
NOT
또는 !
연산자는 오른쪽 값의 반대 값을 반환합니다.SELECT * FROM students WHERE NOT gender = 'male';
그 외 연산
BETWEEN
연산자를 사용하여 범위를 지정할 수 있습니다. BETWEEN
연산자는 다음과 같은 구문으로 사용할 수 있습니다.SELECT * FROM students WHERE age BETWEEN 20 AND 30;
위의 예제는
age
열의 값이 20 이상 30 이하인 학생들을 검색합니다.IN
(in)
IN
연산자는 왼쪽 값이 오른쪽 값 집합 중 하나와 일치하는 경우 true
를 반환합니다.SELECT * FROM students WHERE age IN (20, 21, 22);
위의 예제는
age
열의 값이 20, 21, 22 중 하나인 학생들을 검색합니다.산술 연산자
MySQL에서는 산술 연산을 위해 다양한 산술 연산자를 제공합니다. 다음은 MySQL에서 사용 가능한 산술 연산자입니다.
+
(addition)
+
연산자는 왼쪽 값과 오른쪽 값의 합을 반환합니다.SELECT age + 1 FROM students;
-
(subtraction)-
연산자는 왼쪽 값에서 오른쪽 값을 뺀 결과를 반환합니다.SELECT age - 1 FROM students;
* (multiplication)
*
연산자는 왼쪽 값과 오른쪽 값의 곱을 반환합니다.SELECT age * 2 FROM students;
/
(division)
/
연산자는 왼쪽 값에서 오른쪽 값을 나눈 결과를 반환합니다.SELECT age / 2 FROM students;
%
(modulus)
%
연산자는 왼쪽 값에서 오른쪽 값을 나눈 나머지를 반환합니다.SELECT age % 2 FROM students;
문자열 연산자
MySQL에서는 문자열 조작을 위해 다양한 문자열 연산자를 제공합니다. 다음은 MySQL에서 사용 가능한 문자열 연산자입니다.
CONCAT
(concatenation)
CONCAT
연산자는 두 문자열을 연결한 결과를 반환합니다.SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM students;
LENGTH
(length)
LENGTH
연산자는 문자열의 길이를 반환합니다.SELECT LENGTH(first_name) FROM students;
위에서 설명한 연산자 이외에도 MySQL에서는 다양한 연산자를 제공합니다. 연산자를 적절하게 사용하여 데이터베이스를 효율적으로 검색하고 조작할 수 있습니다.